package com.stt.order.design.strategy;

import com.stt.order.model.Order;
import java.math.BigDecimal;

/**
 * 促销策略接口
 * 定义所有促销策略的统一接口，遵循策略模式
 */
public interface PromotionStrategy {
    /**
     * 计算优惠后的金额
     * @param order 订单对象
     * @param amount 当前金额
     * @return 优惠后的金额
     */
    BigDecimal apply(Order order, BigDecimal amount);
    
    /**
     * 获取策略类型
     * @return 策略类型的字符串标识
     */
    String getType();
} 